The invention relates to wireless, radio-frequency communication systems. More particularly, the invention relates to methods for receiving signals in digital wireless communication systems that use multiple-antenna arrays.
According to information-theoretic predictions, the factors determining the ultimate bit rate at which a digital wireless communication system may communicate data include: the total radiated power at the transmitter, the number of antenna elements at the transmitting and receiving sites, the bandwidth, the noise power at the receiver, and the characteristics of the propagation environment.
Most conventional systems use a single transmitting antenna element and a single receiving element. However, practitioners have recognized that substantial improvements in bit rate can be achieved by using multiple-antenna arrays for transmission, reception, or both. Such use of multiple-antenna arrays is discussed, for example, in the co-pending U.S. patent application Ser. No. 08/673981 by G. J. Foschini, commonly assigned herewith.
One known scheme for using multiple-antenna arrays is illustrated in FIG. 1. This scheme is meant to operate in a so-called xe2x80x9crich scattering environment,xe2x80x9d i.e., a signal-propagation environment in which the elements Hij of the channel matrix H may, to a reasonable approximation, be assumed statistically independent.
As shown in FIG. 1, transmitted signals s1, . . . , sM are respectively transmitted from M distinct antenna elements 10.1, . . . , 10.M. The corresponding received signals x1, . . . , xN are respectively collected from N distinct antenna elements 15.1, . . . , 15.N. In his scheme, the number M of transmitting antenna elements is at least 2, and the number of receiving elements is at least M. The transmission antenna elements 10.1, . . . , 10.M ay represent a single array of elements that are driven in unison, or they may be independently driven antennas.
The channel matrix H is an Nxc3x97M matrix in which the element in the ith row and jth column represents the coupling, through the propagation channel, between the ith receiving antenna element and the jth transmitting element.
The received signals x1, . . . , xN are processed in digital signal processor 20 to produce recovered signals ŝ1, . . . , ŝM. In effect, the processing in processor 20 inverts the coupling between the transmitting and receiving antennas as mediated by the propagation channel. The manner in which this inversion is carried out is described below. However, a perfect reconstruction of the transmitted signals is not generally possible. Therefore, it is typical to decode each of the recovered signals by seeking a best match (but not, generally, a perfect match) between the recovered signal and one of a predetermined constellation of possible symbol values. Practitioners sometimes refer to this decoding procedure as xe2x80x9cslicing.xe2x80x9d
The flowchart of FIG. 2 summarizes an exemplary, known signal-detection procedure. At block 25, an estimate of the channel matrix elements is obtained by transmitting a sequence of known signals. Typically, a sequence of approximately 2M training vectors is transmitted. Each training vector consists of a respective signal value for transmission from each of the M transmission antenna elements. As will be appreciated by those skilled in the art, the rows of FFT (Fast Fourier Transform) matrices of appropriate dimension, for example, are useful as training vectors.
With further reference to FIG. 2, at block 30 a matrix denominated the pseudoinverse is derived from the channel matrix H. The pseudoinverse here corresponds to an augmented matrix that contains H as a sub-matrix. This derivation is described in further detail below. From the pseudoinverse, a further matrix, denominated the error covariance matrix, is derived. The error covariance matrix provides an indication of which is the strongest (as received) of the transmitted signals. If the strongest signal is detected first, the probability of error in detecting subsequent signals is reduced. Thus, it is optimal to detect first the strongest of all remaining undetected signals. Accordingly, the strongest signal is selected for detection.
At block 35, a vector denominated the nulling vector is derived from the pseudoinverse. The nulling vector is derived from that specific row of the pseudoinverse that corresponds to the signal selected for detection.
At block 40, the received signal vector {tilde over (x)}=(x1, . . . ,xN) is left-multiplied by the nulling vector. (It should be noted that {right arrow over (x)} is a column vector.) The result is the recovered signal, representing a least-mean-squares estimate of the corresponding transmitted signal. Those skilled in the art will recognize that this procedure applies the principles of MMSE (Minimum Mean-Square Error) signal detection.
The procedure of block 40 is denominated nulling. The reason for this is that if there were no additive noise present at the receiver, left-multiplying {right arrow over (x)} by the nulling vector would theoretically produce an exact replica of the desired signal. Thus, the effect of the other Mxe2x88x921 signals would have been nulled out.
At block 45, a slicing procedure is performed to identify the recovered symbol with a member of a symbol constellation.
At block 50, the effect of the detected signal is cancelled from the detection problem. The result of this step is a reduced-order problem, in which there is one fewer transmitted signal to be recovered. The procedure of blocks 30 to 50 is then iterated until all of the transmitted signals have been recovered and decoded. In each iteration, the optimal signal to be detected is the strongest of the remaining signals, as determined at block 30. It should be noted in this regard that the computational complexity of the procedures of blocks 30 and 35 scales as M3. Due to the iterative loop, these procedures are iterated M times, leading to a total complexity that scales as M4.
Although useful, the process of FIG. 2, as conventionally practiced, suffers certain limitations. One such limitation is that the computational complexity of the procedures of blocks 30 and 35, i.e., of determining the nulling vectors and optimal ordering, scales as the fourth power of the number M of transmitting antennas. For large transmitting arrays, e.g. for M of ten or more, these procedures may dominate the computation time, and may even lead to computation times that are prohibitive for real-time processing.
The process of FIG. 2, as conventionally practiced, contains numerous matrix squaring operations (e.g., products of a matrix and its conjugate transpose) and inversions that tend to increase the dynamic range of the quantities involved in the computations. As a consequence, these computations are prone to truncation error and may be numerically unstable. To minimize truncation error, it is preferable to carry out these computations in floating point arithmetic rather than fixed point arithmetic. On the other hand, fixed point arithmetic is advantageous in practical applications because it is compatible with fast and relatively inexpensive digital signal processors. Thus, a further limitation of conventional methods for carrying out the process of FIG. 2 is that they are not well-suited for implementation in processors using fixed point arithmetic.
I have discovered a new procedure for determining the nulling vectors and optimal ordering. My new procedure has a computational complexity that scales only as the third power of the number M of transmitting antennas. Moreover, matrix squaring operations and inversions are avoided completely in the new procedure. Instead, unitary transformations are heavily used. Those skilled in the art will appreciate that unitary transformations are among the most numerically stable operations used in numerical analysis. As a consequence of this shift from squaring and inversion operations to unitary transformations, the dynamic range of the computational quantities is reduced sufficiently for practical implementation, in at least some cases, in fixed point arithmetic.
A key part of my discovery is that the nulling vectors and the optimal ordering can be derived from a pair of matrices denominated Pxc2xdand Qxcex1 without matrix squaring operations or matrix inversions. The matrix product Pxc2xdQxcex1*(the symbol xe2x80x9c*xe2x80x9d denotes conjugate transposition) is equal to the pseudoinverse of a matrix that contains the channel matrix H as a sub-matrix. Thus, the derivation of Pxc2xd and Qxcex1 constitutes an implicit computation of the pseudoinverse.
The matrices Pxc2xd and Qxcex1 are obtained by propagating a matrix square-root algorithm whose only inputs are the rows of the channel matrix H and the reciprocal xcex1 of the average signal-to-noise ratio (assuming, without loss of generality, that the noise has unit power). In practice, the signal-to-noise ratio can be measured, e.g., by comparing the received power during transmission to the received power during periods of no transmission. In fact, I have found that my new signal-detection procedure is not very sensitive to the value of xcex1, provided it lies within the range 15-25 dB.
To implement the square-root algorithm, it is also necessary to introduce an appropriate unitary matrix which is selected, as explained below, in accordance with the values of the inputs. Transformation of Pxc2xd and Qxcex1 by a further, appropriately selected unitary matrix provides values to insert in a simple formula for calculating the nulling vector for the next signal whose detection is xe2x80x9coptimal.xe2x80x9d After each nulling vector has been obtained, the effect of the newly detected signal is cancelled from the remaining detection problem, the dimensionality of Pxc2xd and Qxcex1 is reduced, and a new transformation is applied. This procedure is iterated until all of the nulling vectors have been obtained.
Significantly, Pxc2xd and Qxcex1 are derived only once, and thus there is only one effective computation of a pseudoinverse. The absence of matrix inversion operations in this approach improves numerical stability. Because the pseudoinverse is only computed once, the computational complexity is reduced by an order of magnitude relative to methods of the prior art.